//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//
//using namespace std;
//
//class A
//{
//private:
//	int _x;
//	int _y;
//	int size;
//	char* buf;
//public:
//	A(int x= 0, int y = 0)
//	{
//		_x = x;
//		_y = y;
//	}
//	void show();
//
//
//	/*A operator+(const A& a);
//	A operator-(const A& a);
//	A operator++();
//	A operator++(int);
//	A operator--();
//	A operator--(int);*/
//	friend ostream& operator<<(ostream& os, const A& a);
//	friend istream& operator>>(istream& is, A& a);
//	char& operator[](int n);
//};
//
////A A::operator+(const A& a)
////{
////	return A(_x + a._x,_y+a._y);
////}
////
////A A::operator-(const A& a)
////{
////	return A(_x - a._x, _y - a._y);
////}
////
////A A::operator++()
////{
////	++_x;
////	++_y;
////	return *this;
////}
////
////A A::operator++(int)
////{
////	A a = (*this);
////	++(*this);
////	return a;
////}
////
////A A::operator--()
////{
////	--_x;
////	--_y;
////	return *this;
////}
////
////A A::operator--(int)
////{
////	A a = *this;
////	--(*this);
////	return a;
////}
//
////ostream& operator<<(ostream& os, const A& a)
////{
////	os << "(" << a._x << "," << a._y << ")";
////	return os;
////}
////
////istream& operator>>(istream& is, A& a)
////{
////	is >> a._x >> a._y;
////	return is;
////}
//
//char& A::operator[](int n)
//{
//	static char ch = 0;
//	if (n > size || n < 0)
//	{
//		return ch;
//	}
//	else
//	{
//		return *(buf + n);
//	}
//}
//
//void A::show()
//{
//	cout << "(" << _x << "," << _y << ")" << endl;
//}
//
//int main()
//{
//	A a1(1, 2);
//	A a2(3, 4);
//
//
//
//	//cout << "a1:" << a1 << endl;
//	//cout << "a2:" << a2 << endl;
//
//	//cin >> a2;
//	//cout << "a2:" << a2 << endl;
//
//
//	/*A a3 = a1--;
//	a3.show();
//	a3 = --a1;
//	a3.show();*/
//
//	//A a3 = a1 + a2;
//	//a3.show();
//
//	//a3 = a1 - a2;
//	//a3.show();
//
//	//a3 = a1++;
//	//a3.show();
//
//	//a3 = ++a1;
//	//a3.show();
//	
//	return 0;
//}